1. Field of the Invention
The present invention relates to an ultrasonic imaging apparatus that, at the time of generation of an image based on signals obtained by scanning with ultrasonic waves, displays by performing coordinate conversion from coordinates at the time of scanning to coordinates for display.
2. Description of the Related Art
An ultrasonic imaging apparatus is an apparatus configured to obtain biological information from an ultrasonic image of the inside of a subject body, by repeating transmission and reception of ultrasonic waves between a piezoelectric vibrator installed in an ultrasonic probe and the inside of the subject body and executing a variety of processes. The ultrasonic imaging apparatus is capable of performing diagnoses by the ultrasonic tomography method and diagnoses by the ultrasonic Doppler method.
In diagnosis by the ultrasonic tomography method, a 2-dimensional tomographic image of a subject body is obtained by scanning a cross-section of the inside of the subject body with ultrasonic waves and converting the amplitude of reflected wave signals into luminance. The 2-dimensional tomographic image obtained by the ultrasonic tomography method is referred to as a B-mode image. Data to become the basis of creation of this B-mode image is referred to as B-mode data.
On the other hand, in diagnosis by the ultrasonic Doppler method, the velocity of a bloodstream or tissues inside a subject body is measured by utilizing the Doppler effects of ultrasonic waves, and a bloodstream is displayed as a color 2-dimensional image (hereinafter, may be referred to as a “color Doppler image”). Among the ultrasonic Doppler methods, a method of detecting the velocity of a bloodstream specifically and displaying the bloodstream with color is referred to as the color Doppler method.
Herein, assuming complex Doppler signals obtained after passing received ultrasonic signals through an MTI (Moving Target Indicator) filter that extracts a thing moving faster than a specified velocity are x1, x2, x3, . . . and xN,
Power P is represented by P=Σ|xi|2 
Autocorrelation function C1 is represented by C1=Σxi*xi+1 (where x* is a conjugate complex number),
Velocity V is represented by V=tan−1C1, and
Dispersion T is represented by T=1−|C1|/P.
Furthermore, a method of displaying by superimposing a color Doppler image obtained by the color Doppler method onto a B-mode image obtained by the ultrasonic tomography method is referred to as the color Doppler tomography method.
Thus, the ultrasonic imaging apparatus transmits and receives ultrasonic beams in a deflected state in a predetermined direction from an almost fixed point by means of a piezoelectric vibrator, and performs an ultrasonic scan while sequentially changing the direction, thereby obtaining data in a 2-dimensional cross-section or in a 3-dimensional space. Then, in order to display on a monitor for image display based on sample points (cf. FIG. 1A) obtained by performing an ultrasonic scan with a coordinate system when the data has been obtained (this coordinate system is a coordinate system of (scanning direction, distance); hereinafter, this coordinate system will be referred to as a “scanning coordinate system,” and the coordinates will be referred to as “scanning coordinates”), it is necessary to convert the coordinate system into a Cartesian coordinate system that is a grid of the display monitor (cf. FIG. 1B). Herein, FIG. 1A is a diagram of ultrasonic signals represented by scanning coordinates, and FIG. 1B is a diagram of Cartesian coordinates to become the destination of the conversion. Moreover, FIG. 1C is a conceptual diagram of coordinate conversion in which the scanning coordinates and Cartesian coordinates are superimposed. As shown in FIG. 1C in the superimposed state, there is a need to show points of the scanning coordinates as points of the Cartesian coordinates by coordinate conversion.
Conventionally, the processes of coordinate conversion and interpolation in the ultrasonic imaging apparatus have been performed by dedicated hardware known as a DSC (Digital Scan Converter) (Japanese Unexamined Patent Application Publication No. 11-9603). The interpolation process performed by the DSC will be explained below.
Bi-linear interpolation is performed in the case of interpolation of B-mode data or the respective data of velocity, dispersion and power of a bloodstream composing bloodstream information (hereinafter, when these data are not distinguished from each other, one or a plurality of data may be referred to as ultrasonic data). For example, in the case of bi-linear interpolation in which a kernel size is 2×2 (the kernel size is a size for filtering to perform interpolation; here, a filter is sort of a degree of averaging, and the degree of averaging depends on the number of interpolation points), four points are divided into two groups in the x-direction or y-direction, interpolation is performed between the groups with a normal proportion (linear interpolation), and linear interpolation is further performed by using two points found by the interpolation, whereby interpolation of the original four points is completed. In other words, this is a method of, assuming data of four adjacent points are A, B, C and D, calculating an interpolation value with a formula (1−β){(1−α)A+αB}+β{(1−α)C+αD}. Here, α and β denote degrees of displacement from the interpolation center in the distance direction and the azimuth direction (X and Y) of the scanning coordinates.
Furthermore, the interpolation process with a 2×4 kernel size will be explained with a case of generating a B-mode image. FIG. 2 is a diagram for explaining the interpolation of B-mode data, and this figure is referred to as texture. FIG. 2A is a diagram showing the obtained B-mode data in the scanning coordinates. FIG. 2B is a diagram showing the Cartesian coordinates to be the destination of the conversion. FIG. 2C is a magnified diagram of the obtained B-mode data in the scanning coordinate system. With reference to the scanning coordinates of the obtained B-mode data shown in FIG. 2A and the information of the Cartesian coordinates to be the destination of the conversion shown in FIG. 2B, corresponding vertices are stored in a temporary storage part in order to convert from the scanning coordinates to the Cartesian coordinates. In other words, the corresponding vertices are combinations such as the correspondence between (0,0) and (x0, y0), the correspondence between (0, 1) and (x0, y0), the correspondence between (1,0) and (x1, y1), and the correspondence between (1, 1) and (x2, y2). Here, the scanning coordinates of the B-mode data are represented by a graph in which the scanning direction (v) is taken on the vertical axis and the distance (u) is taken on the horizontal axis, as shown in FIG. 2A. Moreover, the Cartesian coordinates after the conversion are represented by a graph in which the horizontal axis takes the X-coordinate and the vertical axis takes the Y-coordinate, as shown in FIG. 2B.
Here, considering a case in which a point (x,y) in the Cartesian coordinate system is extracted as an interpolation point, a method for calculating a point (u,v) in the scanning coordinate system corresponding to the point (x,y) in the Cartesian coordinate system will be explained.
Upon reception of the point (u,v), original sample points A1, A2, B1, B2, C1, C2, D1 and D2 shown in FIG. 2A, which correspond to the point (u,v), are obtained by truncating points other than points necessary to find the point (u,v), based on the 2×4 kernel size. As shown in FIG. 2C, the sample points are in a row of 2×4. Here, FIG. 2 is a diagram for explaining interpolation in the ultrasonic imaging apparatus according to the present invention. As shown in FIG. 2C, when the distance between B1 and C1 is 1, the ratio of the point (u,v) to the line connecting B1 with B2 shall be dv, and when the distance between A1 and A2 is 1, the ratio of the point (u,v) to the line connecting A1 with D1 shall be du.
Next, bi-linear interpolation with the kernel size of 2×2 is performed for points located at the position of the ratio du between A1 and A2, B1 and B2, C1 and C2, and D1 and D2. Here, since the values in the v-axis direction at the respective interpolation points are the same as those of A1, B1, C1 and D1, this 2×2 interpolation is equivalent to the interpolation between two points. In other words, as interpolation values, (1−du)A1+duA2, (1−du)B1+duB2, (1−du)C1+duC2, and (1−du)D1+duD2 are obtained. These obtained interpolation values are denoted by A3, B3, C3 and D3, as shown in FIG. 2C.
Next, calculation of an interpolation coefficient from the interpolation values A3, B3, C3 and D3 and an interpolation function f(x) will be explained. FIG. 3 is a diagram for explaining calculation of the interpolation coefficient from the interpolation function. The interpolation function f(x) is a function that represents fineness from the coarsest level to the finest level. Here, the interpolation function f(x) shall be an interpolation function for obtaining a fine image. Therefore, as shown in FIG. 3, the function f(x) is given as a function such that, when the x coordinate of the intermediate point of the four interpolation values calculated by the abovementioned 2×2 bi-linear interpolation is 0, the y coordinate will be 0. For example, a point 501, a point 502, a point 503 and a point 504 shown in FIG. 3 represent a case in which the interpolation point and the sample point coincide with each other. When the interpolation point and the sample point do not coincide with each other, for example, in the case of the point (u, v) shown in FIG. 2C, the x coordinate of the point (u,v) is moved to become 0. That is, since the ratio from the point (u,v) actually desired to be interpolated to B3 is dv, the coordinate is moved so that the ratio dv becomes 0 and the point (u,v) coincides with B3. In concrete, the point (u,v) is equivalent to point 506 in FIG. 3, and the interpolation function f(x) is moved in the x-axis direction by a distance 511 (by the ratio dv) so that the x coordinate of point 502 coincides with the x coordinate of point 505, the x coordinate of point 503 coincides with the x coordinate of point 506, and the x coordinate of point 504 coincides with the x coordinate of point 507 (in this case, the x coordinate of point 501 moves to the x coordinate of point 508). Consequently, the values of the y coordinates of the four sample points are found. These values are interpolation coefficients.
Based on the found interpolation coefficients, the interpolation value of (u,v) by A1, A2, B1, B2, C1, C2, D1 and D2 is calculated. The interpolation value is found by:a((1−du)A1+duA2)+b((1−du)B1+duB2)+c((1−du)C1+duC2)+d((1−du)D1+duD2)where du denotes displacement from the interpolation center in the distance direction, anda, b, c and d denote interpolation coefficients of four points in the azimuth direction.
In order to carry out the interpolation process or the coordinate conversion process with the DSC, it is necessary to create dedicated hardware, which requires cost for development and production. Further, processing with the hardware allows only a process embedded at the time of development, so that it is necessary to create other dedicated hardware when changing the content of the processing or addressing new processing afterwards.
In this context, since the processing speed of CPUs (Central Processing Unit) has increased in recent years, a method in which the CPU handles all processes equivalent to those performed by the DSC by using software has also been formulated. However, a process of displaying by converting an image with a frame rate of 60 frames per second in the CPU imposes a large load on the CPU, so that problems occur such as the slower response of processes other than displaying or the lack of displaying images.
In recent years, a GPU (Graphics Processing Unit) has more frequently been employed in displaying images by computer or the like. Herein, the GPU is an image-processing chip having an image-display function and an arithmetic function such as a shading function and an interpolation function. A GPU used recently also supports a coordinate conversion function, and use of this function makes it possible to reduce the load on a CPU due to the coordinate conversion. However, the interpolation function supported by a GPU is bi-linear interpolation with a 2×2 kernel size at the maximum and is low in processing capability.
In the ultrasonic imaging apparatus, a higher-definition image is required, and therefore, it is necessary to interpolate with a kernel size of a high order, and a kernel size of 2×4 is required at the minimum. In this context, in the ultrasonic imaging apparatus, a difference in image quality is definitely made between interpolation with a 2×2 kernel size and interpolation with a 2×4 kernel size. Therefore, it is difficult to create a desired image only by bi-linear interpolation with a 2×2 kernel size. Thus, it has conventionally been difficult to install a GPU in an ultrasonic imaging apparatus.
Furthermore, in the case of interpolating velocity signals of bloodstream signals (color Doppler image), it is necessary to take aliasing into consideration. The aliasing is a phenomenon in which, when spectrum components representing velocity signals exceed half the repeating frequency of sampling pulses for obtaining data (i.e., exceeds Nyquist frequency), spectrum components are observed as a flow in a negative direction. FIGS. 4A and 4B are diagrams for explaining the aliasing. FIG. 4A is a diagram representing the flow of the bloodstream and ultrasonic signals. FIG. 4B is a graph for representing the relationship between ultrasonic signals and colors. In addition, FIG. 4B is a graph in which velocity and color corresponding to the velocity are taken on the vertical axis, wherein an intermediate value 310 is set to 0, the maximum velocity (value 309) is set to 127 and the minimum speed (value 311) is set to −128. For example, considering a case in which, as shown is FIG. 4A, blood 301 is flowing in the direction of arrow 300, a point 302 in the blood 301 is represented by a point 304 represented by red for a velocity of 100, and a point 303 in the blood 301 is represented by a point 305 represented by blue for a velocity of −100. Herein, a point 305 is represented as the bloodstream in the opposite direction due to aliasing. In a case where normal interpolation is performed at this moment, the interpolation is interpolation between the point 304 and the point 305, resulting in a point 306 represented by black for a velocity of 0. In fact, however, the velocity has changed from 100 (red) to −100 (blue) due to the aliasing phenomenon, and an expected interpolation value is a point 307 for −128 (blue). It is difficult for a low-processing-capability processor to carry out such a special interpolation. In this regard, it has conventionally been difficult to install a GPU in an ultrasonic imaging apparatus.
In addition, for image processing in an ultrasonic imaging apparatus, a process of synthesizing a histological image (B-mode image) and a bloodstream image (color Doppler image) in accordance with predetermined logic to form one image is also required. However, this synthesis practice may vary depending on the values of both the B-mode image and the color Doppler image, and it is difficult to realize by a method, such as alpha blending, of simply superimposing images. In this regard, it has been difficult to install a GPU in an ultrasonic imaging apparatus.
Then, a GPU architecture in earlier periods was only capable of executing a graphics process embedded at the time of development of the GPU, but a recent programmable GPU architecture allows immediate application of a newly developed technology, by updating the system.